// ***********************************************************************
// Assembly         : SgResearch.Core
// Author           : Jean-Francois LEQUEUX
// Created          : 04-13-2013
// Last Modified By : Jean-Francois LEQUEUX
// Last Modified On : 04-13-2013
// ***********************************************************************
// <copyright file="UseCaseAttribute.cs" company="SGCIB">
//     Copyright (c) . All rights reserved.
// </copyright>
// <summary>Use to define the Use case associated to a method, this attribute is just an information</summary>
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MvcToolbox
{
    /// <summary>
    /// Describe the use case associated to an action
    /// </summary>
    [AttributeUsage(AttributeTargets.Method)]
    public class UseCaseAttribute : System.Attribute
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="UseCaseAttribute"/> class.
        /// </summary>
        /// <param name="name">Name of the use case.</param>
        /// <param name="details">Description of the use case.</param>
        public UseCaseAttribute(string name, string details = "")
        {
            this.Name = name;
            this.Details = details;
        }

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        /// <value>The name.</value>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        public string Details { get; set; }
    }
}
